Index: numpy/core/setup.py
===================================================================
--- python-numpy-1.4.1.orig/numpy/core/setup.py (revision 8455)
+++ python-numpy-1.4.1/numpy/core/setup.py (revision 8510)
@@ -429,5 +429,6 @@
                            'INTEL_EXTENDED_16_BYTES_LE',
                            'IEEE_QUAD_LE', 'IEEE_QUAD_BE',
-                           'IEEE_DOUBLE_LE', 'IEEE_DOUBLE_BE']:
+                           'IEEE_DOUBLE_LE', 'IEEE_DOUBLE_BE',
+                           'DOUBLE_DOUBLE_BE']:
                     moredefs.append(('HAVE_LDOUBLE_%s' % rep, 1))
                 else:
Index: numpy/core/src/npymath/npy_math_private.h
===================================================================
--- python-numpy-1.4.1.orig/numpy/core/src/npymath/npy_math_private.h (revision 8008)
+++ python-numpy-1.4.1/numpy/core/src/npymath/npy_math_private.h (revision 8510)
@@ -364,4 +364,5 @@
 #endif
 
+#ifndef HAVE_LDOUBLE_DOUBLE_DOUBLE_BE
 /* Get the sign bit of x. x should be of type IEEEl2bitsrep */
 #define GET_LDOUBLE_SIGN(x) \
@@ -404,4 +405,6 @@
      (((IEEEl2bitsrep_part)(v) << LDBL_MANH_SHIFT) & LDBL_MANH_MASK))
 
+#endif /* #ifndef HAVE_LDOUBLE_DOUBLE_DOUBLE_BE */
+
 /*
  * Those unions are used to convert a pointer of npy_cdouble to native C99
Index: numpy/core/setup_common.py
===================================================================
--- python-numpy-1.4.1.orig/numpy/core/setup_common.py (revision 8113)
+++ python-numpy-1.4.1/numpy/core/setup_common.py (revision 8510)
@@ -220,4 +220,6 @@
                       '000', '000', '000', '000', '000', '000', '000', '000']
 _IEEE_QUAD_PREC_LE = _IEEE_QUAD_PREC_BE[::-1]
+_DOUBLE_DOUBLE_BE = ['301', '235', '157', '064', '124', '000', '000', '000'] + \
+                    ['000'] * 8
 
 def long_double_representation(lines):
@@ -255,4 +257,6 @@
                     elif read[8:-8] == _IEEE_QUAD_PREC_LE:
                         return 'IEEE_QUAD_LE'
+                    elif read[8:-8] == _DOUBLE_DOUBLE_BE:
+                        return 'DOUBLE_DOUBLE_BE'
                 elif read[:16] == _BEFORE_SEQ:
                     if read[16:-8] == _IEEE_DOUBLE_LE:
